The present invention relates generally to digital imaging, and particularly to a programmable timing generator for digital imaging.
Advances in technology have made possible the electronic still camera for photography. In photographic cameras, the image-forming light is sensed and recorded directly on film. Unlike photographic cameras, the electronic still camera uses an electronic image sensor to sense the image-forming light and a separate recording medium to record and store the picture. Because the electronic still camera uses digital technology, the electronic still camera is a type of digital camera.
Typically the electronic image sensor in a digital camera is a solid-state device such as a charge-coupled device (CCD) or a CMOS device. The image sensor connects to electronic interface circuitry which connects to a storage device and, optionally, to a display.
A typical CCD has many cells or pixels arranged along vertical and horizontal dimensions in a matrix. In response to light, the cells generate a charge or voltage which represents image information. The image sensor senses an image and stores image information, i.e., a charge or voltage, corresponding to the sensed light in the cells. Image sensors are made in many sizes such as, e.g., 400xc3x97300, 640xc3x97480, 1024xc3x97768, and 4096xc3x974096 pixels. The image information stored in the cells is output serially from the image sensor using an arrangement of shift registers. The shift registers are arranged along vertical and horizontal dimensions and are coupled to the cells. The cells and shift registers require timing, or clock, signals, having specific timing requirements, to output the image information. Each type of image sensor has its own unique timing requirements. Typically, a single image sensor requires many clock signals to control the flow of image information in both the horizontal and vertical dimensions. The clock signals must be synchronized. For example, to output image information from a 640xc3x97480 CCD requires 480 vertical shifts and 640 horizontal shifts for each vertical shift. Within a single dimension, the clock signals to control the flow of image information have different phases that must be synchronized. Furthermore, shifting the information out of the image sensor requires timing signals to synchronize the image sensor""s operation with an analog signal processor (ASP) and an analog-to-digital (A/D) converter.
Typically, digital cameras use custom-designed dedicated hardware to control the timing of the image sensor, the ASP and the A/D converter. Because this circuitry is specific to a particular image sensor, image sensors cannot be interchanged. However, many types of image sensors from different manufacturers are available. Image sensors are also available in many sizes. Changing image sensors or adjusting the timing requires a redesign of hardware which is expensive and time consuming.
In addition, during the image acquisition process, the timing signals to control the image sensor may need to be changed. An image has a certain size or format. However, the desired image may have a different format from that of the image sensor. For example, the desired image may be cropped and not use the image information from all the available pixels. Not all the pixel information available from the image sensor may be required to achieve the desired format. Therefore, the image information that is read from an image sensor may need to be selected. To select the desired pixels, i.e., image information, the timing signals to control the image sensor need to be changed. With dedicated hardwired timing generators, the timing signals cannot be easily changed.
Therefore, there is a need for a method and apparatus to change the timing signals sent to the image sensor in a digital camera that is quick, inexpensive and flexible.
A programmable timing generator for a digital imaging system has a first clock generator and a second clock generator. The first clock generator includes a programmable microsequencer and generates a plurality of first clock signals in response to the microsequencer. The second programmable clock generator is responsive to the microsequencer and generates second clock signals. The first clock signals have a lower frequency than the second clock signals.
In a typical implementation, the second clock signals are called horizontal clock signals, which are used for clocking rows of pixel data out of a digital image sensor, while the first clock signals are called vertical clock signals that are used for shifting pixel data one position in vertical shift registers in the digital image sensor. The horizontal or vertical clock signals can also be used to control the image capture operation of the digital sensor, with the programmable microsequencer being used to control the image capture exposure time.